package com.zeny.coding.service;


import com.zeny.coding.dto.PageDto;
import com.zeny.coding.dto.SectionDto;
import com.zeny.coding.entity.Section;

import java.util.List;

public interface SectionService {
    /**
     * <h2>分页查询</h2>
     * @param pageInfo
     * @param courseId
     * @param chapterId
     **/
    void list(PageDto<SectionDto> pageInfo, String courseId, String chapterId);

    /**
     * <h2>保存小节</h2>
     * @param sectionDto
     **/
    void save(SectionDto sectionDto);

    /**
     * <h2>修改小节</h2>
     * @param sectionDto
     **/
    void update(SectionDto sectionDto);

    /**
     * <h2>根据id查询小节</h2>
     * @param id
     **/
    SectionDto findById(String id);

    /**
     * <h2>根据id删除小节</h2>
     * @param id
     **/
    void deleteById(String id);

    /**
     * <h2>根据课程id删除所有小节</h2>
     * @param courseId
     **/
    void deleteByCourseId(String courseId);

    /**
     * <h2>根据大章id删除所有小节</h2>
     * @param chapterId
     **/
    void deleteByChapterId(String chapterId);

    /**
     * <h2>根据大章id查询小节</h2>
     * @param chapterId
     **/
    List<Section> findByChapterId(String chapterId);
}
